package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_fut_basic")
public class FFutBasic {
    @Id
    private Long tid;

    /**
     * 合约代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 交易标识
     */
    private String symbol;

    /**
     * 交易市场
     */
    private String exchange;

    /**
     * 中文简称
     */
    private String name;

    /**
     * 合约产品代码
     */
    @Column(name = "fut_code")
    private String futCode;

    /**
     * 合约乘数
     */
    private Float multiplier;

    /**
     * 交易计量单位
     */
    @Column(name = "trade_unit")
    private String tradeUnit;

    /**
     * 交易单位(每手)
     */
    @Column(name = "per_unit")
    private Float perUnit;

    /**
     * 报价单位
     */
    @Column(name = "quote_unit")
    private String quoteUnit;

    /**
     * 最小报价单位说明
     */
    @Column(name = "quote_unit_desc")
    private String quoteUnitDesc;

    /**
     * 交割方式说明
     */
    @Column(name = "d_mode_desc")
    private String dModeDesc;

    /**
     * 上市日期
     */
    @Column(name = "list_date")
    private String listDate;

    /**
     * 最后交易日期
     */
    @Column(name = "delist_date")
    private String delistDate;

    /**
     * 交割月份
     */
    @Column(name = "d_month")
    private String dMonth;

    /**
     * 最后交割日
     */
    @Column(name = "last_ddate")
    private String lastDdate;

    /**
     * 交易时间说明
     */
    @Column(name = "trade_time_desc")
    private String tradeTimeDesc;

    public FFutBasic(Long tid, String tsCode, String symbol, String exchange, String name, String futCode, Float multiplier, String tradeUnit, Float perUnit, String quoteUnit, String quoteUnitDesc, String dModeDesc, String listDate, String delistDate, String dMonth, String lastDdate, String tradeTimeDesc) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.symbol = symbol;
        this.exchange = exchange;
        this.name = name;
        this.futCode = futCode;
        this.multiplier = multiplier;
        this.tradeUnit = tradeUnit;
        this.perUnit = perUnit;
        this.quoteUnit = quoteUnit;
        this.quoteUnitDesc = quoteUnitDesc;
        this.dModeDesc = dModeDesc;
        this.listDate = listDate;
        this.delistDate = delistDate;
        this.dMonth = dMonth;
        this.lastDdate = lastDdate;
        this.tradeTimeDesc = tradeTimeDesc;
    }

    public FFutBasic() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取合约代码
     *
     * @return ts_code - 合约代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置合约代码
     *
     * @param tsCode 合约代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取交易标识
     *
     * @return symbol - 交易标识
     */
    public String getSymbol() {
        return symbol;
    }

    /**
     * 设置交易标识
     *
     * @param symbol 交易标识
     */
    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    /**
     * 获取交易市场
     *
     * @return exchange - 交易市场
     */
    public String getExchange() {
        return exchange;
    }

    /**
     * 设置交易市场
     *
     * @param exchange 交易市场
     */
    public void setExchange(String exchange) {
        this.exchange = exchange;
    }

    /**
     * 获取中文简称
     *
     * @return name - 中文简称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置中文简称
     *
     * @param name 中文简称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取合约产品代码
     *
     * @return fut_code - 合约产品代码
     */
    public String getFutCode() {
        return futCode;
    }

    /**
     * 设置合约产品代码
     *
     * @param futCode 合约产品代码
     */
    public void setFutCode(String futCode) {
        this.futCode = futCode;
    }

    /**
     * 获取合约乘数
     *
     * @return multiplier - 合约乘数
     */
    public Float getMultiplier() {
        return multiplier;
    }

    /**
     * 设置合约乘数
     *
     * @param multiplier 合约乘数
     */
    public void setMultiplier(Float multiplier) {
        this.multiplier = multiplier;
    }

    /**
     * 获取交易计量单位
     *
     * @return trade_unit - 交易计量单位
     */
    public String getTradeUnit() {
        return tradeUnit;
    }

    /**
     * 设置交易计量单位
     *
     * @param tradeUnit 交易计量单位
     */
    public void setTradeUnit(String tradeUnit) {
        this.tradeUnit = tradeUnit;
    }

    /**
     * 获取交易单位(每手)
     *
     * @return per_unit - 交易单位(每手)
     */
    public Float getPerUnit() {
        return perUnit;
    }

    /**
     * 设置交易单位(每手)
     *
     * @param perUnit 交易单位(每手)
     */
    public void setPerUnit(Float perUnit) {
        this.perUnit = perUnit;
    }

    /**
     * 获取报价单位
     *
     * @return quote_unit - 报价单位
     */
    public String getQuoteUnit() {
        return quoteUnit;
    }

    /**
     * 设置报价单位
     *
     * @param quoteUnit 报价单位
     */
    public void setQuoteUnit(String quoteUnit) {
        this.quoteUnit = quoteUnit;
    }

    /**
     * 获取最小报价单位说明
     *
     * @return quote_unit_desc - 最小报价单位说明
     */
    public String getQuoteUnitDesc() {
        return quoteUnitDesc;
    }

    /**
     * 设置最小报价单位说明
     *
     * @param quoteUnitDesc 最小报价单位说明
     */
    public void setQuoteUnitDesc(String quoteUnitDesc) {
        this.quoteUnitDesc = quoteUnitDesc;
    }

    /**
     * 获取交割方式说明
     *
     * @return d_mode_desc - 交割方式说明
     */
    public String getdModeDesc() {
        return dModeDesc;
    }

    /**
     * 设置交割方式说明
     *
     * @param dModeDesc 交割方式说明
     */
    public void setdModeDesc(String dModeDesc) {
        this.dModeDesc = dModeDesc;
    }

    /**
     * 获取上市日期
     *
     * @return list_date - 上市日期
     */
    public String getListDate() {
        return listDate;
    }

    /**
     * 设置上市日期
     *
     * @param listDate 上市日期
     */
    public void setListDate(String listDate) {
        this.listDate = listDate;
    }

    /**
     * 获取最后交易日期
     *
     * @return delist_date - 最后交易日期
     */
    public String getDelistDate() {
        return delistDate;
    }

    /**
     * 设置最后交易日期
     *
     * @param delistDate 最后交易日期
     */
    public void setDelistDate(String delistDate) {
        this.delistDate = delistDate;
    }

    /**
     * 获取交割月份
     *
     * @return d_month - 交割月份
     */
    public String getdMonth() {
        return dMonth;
    }

    /**
     * 设置交割月份
     *
     * @param dMonth 交割月份
     */
    public void setdMonth(String dMonth) {
        this.dMonth = dMonth;
    }

    /**
     * 获取最后交割日
     *
     * @return last_ddate - 最后交割日
     */
    public String getLastDdate() {
        return lastDdate;
    }

    /**
     * 设置最后交割日
     *
     * @param lastDdate 最后交割日
     */
    public void setLastDdate(String lastDdate) {
        this.lastDdate = lastDdate;
    }

    /**
     * 获取交易时间说明
     *
     * @return trade_time_desc - 交易时间说明
     */
    public String getTradeTimeDesc() {
        return tradeTimeDesc;
    }

    /**
     * 设置交易时间说明
     *
     * @param tradeTimeDesc 交易时间说明
     */
    public void setTradeTimeDesc(String tradeTimeDesc) {
        this.tradeTimeDesc = tradeTimeDesc;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", symbol=").append(symbol);
        sb.append(", exchange=").append(exchange);
        sb.append(", name=").append(name);
        sb.append(", futCode=").append(futCode);
        sb.append(", multiplier=").append(multiplier);
        sb.append(", tradeUnit=").append(tradeUnit);
        sb.append(", perUnit=").append(perUnit);
        sb.append(", quoteUnit=").append(quoteUnit);
        sb.append(", quoteUnitDesc=").append(quoteUnitDesc);
        sb.append(", dModeDesc=").append(dModeDesc);
        sb.append(", listDate=").append(listDate);
        sb.append(", delistDate=").append(delistDate);
        sb.append(", dMonth=").append(dMonth);
        sb.append(", lastDdate=").append(lastDdate);
        sb.append(", tradeTimeDesc=").append(tradeTimeDesc);
        sb.append("]");
        return sb.toString();
    }
}